﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Configuration;
using System.Data.SqlClient;
using System.Data;
using System.Data.OleDb;
using System.ComponentModel;

namespace ivvIncorporadoraIvv
{
    public partial class List : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                bindGridView();
                bindGridView2();
            }
            //TxtNome.Focus();            
        }

        protected void RowDataBound(object sender, GridViewRowEventArgs e)
        {
            if (e.Row.RowIndex != -1)
            {
                if (e.Row.RowType == DataControlRowType.DataRow)
                {
                    object objTemp = GridView1.DataKeys[e.Row.RowIndex].Value as object;
                    if (objTemp != null)
                    {
                        string id = objTemp.ToString();

                        string sql1 = "";

                        sql1 = sql1 + "SELECT codigoIvv, anoIvv, mesIvv, codigoIncorporadora, codigoEmpreendimento, ";
                        sql1 = sql1 + "codigoTipoUnidadeEmpreendimento, dataCadastroIvv, quantidadeVendaIvv, ";
                        sql1 = sql1 + "quantidadeLancamentoIvv, quantidadeOfertasIvv, ";
                        sql1 = sql1 + "definicaoOutroEstagioObra, tipoTransporte, quantidadeLancamentoVendaIvv,  ";

                        sql1 = sql1 + "(select nomeEmpreendimento from empreendimento ";
                        sql1 = sql1 + "where empreendimento.codigoEmpreendimento = ivv.codigoEmpreendimento) as empreendimento, ";

                        sql1 = sql1 + "(select descricaoBairro from bairro, empreendimento ";
                        sql1 = sql1 + "where empreendimento.codigoEmpreendimento = ivv.codigoEmpreendimento and ";
                        sql1 = sql1 + "empreendimento.codigoBairro = bairro.codigoBairro) as bairro, ";

                        sql1 = sql1 + "(select areaPrivativaTipoUnidadeEmpreendimento from tipoUnidadeEmpreendimento ";
                        sql1 = sql1 + "where tipoUnidadeEmpreendimento.codigotipoUnidadeEmpreendimento = ivv.codigotipoUnidadeEmpreendimento) as Area ";

                        sql1 = sql1 + "FROM ivv where tipoTransporte = 0 and codigoIvv = " + id + " and codigoIncorporadora = " + Session["codigoIncorporadora"].ToString() + " order by dataCadastroIvv desc";

                        System.Data.SqlClient.SqlConnection conexao = new System.Data.SqlClient.SqlConnection(ConfigurationManager.AppSettings["baseDados"]);
                        conexao.Open();

                        System.Data.SqlClient.SqlCommand cmdT = new System.Data.SqlClient.SqlCommand(sql1, conexao);
                        System.Data.SqlClient.SqlDataReader drT = cmdT.ExecuteReader();

                        string codigoIvv = "";
                        int count = 0;

                        if (drT.HasRows)
                        {
                            while (drT.Read())
                            {
                                codigoIvv = drT["codigoIvv"].ToString();

                                e.Row.Cells[2].Controls.Add(new LiteralControl(imprimirMes(drT["mesIvv"].ToString())));

                                if (count == 0)
                                {
                                    //if (Convert.ToDateTime(DateTime.Now.ToString("dd/MM/yyyy")) <= Convert.ToDateTime("10/" + drT["mesIvv"].ToString() + "/" + drT["anoIvv"].ToString()))
                                    //{
                                    string editar = "<a href=javascript:window.open('" + Convert.ToString(ConfigurationManager.AppSettings["url"]) + "/editarIvvComercial.aspx?codigoIvv=" + codigoIvv + "','usuario','location=0,resizable=0,status=0,scrollbars=0,width=700,height=250');><img src=" + Convert.ToString(ConfigurationManager.AppSettings["url"]) + "/images/btEditar(2).gif alt=Excluir /></a>";
                                    e.Row.Cells[11].Controls.Add(new LiteralControl(editar));

                                    string remover = "<a href=javascript:window.open('" + Convert.ToString(ConfigurationManager.AppSettings["url"]) + "/deletarIVV.aspx?codigoIvv=" + codigoIvv + "','usuario','location=0,resizable=0,status=0,scrollbars=0,width=350,height=150');><img src=" + Convert.ToString(ConfigurationManager.AppSettings["url"]) + "/images/btExcluirMacroProcesso.gif alt=Excluir /></a>";
                                    e.Row.Cells[11].Controls.Add(new LiteralControl(remover));
                                    //}
                                }
                                count++;
                            }
                        }
                        drT.Close();
                        cmdT.Dispose();
                        conexao.Close();
                    }
                }
            }
        }

        protected void RowDataBound2(object sender, GridViewRowEventArgs e)
        {
            if (e.Row.RowIndex != -1)
            {
                if (e.Row.RowType == DataControlRowType.DataRow)
                {
                    object objTemp = GridView2.DataKeys[e.Row.RowIndex].Value as object;
                    if (objTemp != null)
                    {
                        string id = objTemp.ToString();

                        string sql1 = "";
                        
                        sql1 = sql1 + "SELECT codigoIvv, anoIvv, mesIvv, codigoIncorporadora,  ";
                        sql1 = sql1 + "codigoEmpreendimento, codigoTipoUnidadeEmpreendimento,  ";
                        sql1 = sql1 + "dataCadastroIvv, quantidadeVendaIvv, quantidadeLancamentoIvv,  ";
                        sql1 = sql1 + "quantidadeOfertasIvv, definicaoOutroEstagioObra, tipoTransporte,  ";
                        sql1 = sql1 + "quantidadeLancamentoVendaIvv,  ";

                        sql1 = sql1 + "(select nomeEmpreendimento from empreendimento  ";
                        sql1 = sql1 + "where empreendimento.codigoEmpreendimento = ivv.codigoEmpreendimento) as empreendimento,  ";

                        sql1 = sql1 + "(select descricaoBairro from bairro, empreendimento  ";
                        sql1 = sql1 + "where empreendimento.codigoEmpreendimento = ivv.codigoEmpreendimento and  ";
                        sql1 = sql1 + "empreendimento.codigoBairro = bairro.codigoBairro) as bairro,  ";

                        sql1 = sql1 + "(select areaPrivativaTipoUnidadeEmpreendimento from tipoUnidadeEmpreendimento  ";
                        sql1 = sql1 + "where tipoUnidadeEmpreendimento.codigotipoUnidadeEmpreendimento = ivv.codigotipoUnidadeEmpreendimento) as Area, ";

                        sql1 = sql1 + "(select numeroQuartosTipoUnidadeEmpreendimento from tipoUnidadeEmpreendimento  ";
                        sql1 = sql1 + "where tipoUnidadeEmpreendimento.codigotipoUnidadeEmpreendimento = ivv.codigotipoUnidadeEmpreendimento) as quarto, ";

                        sql1 = sql1 + "(select numeroElevadoresTipoUnidadeEmpreendimento from tipoUnidadeEmpreendimento  ";
                        sql1 = sql1 + "where tipoUnidadeEmpreendimento.codigotipoUnidadeEmpreendimento = ivv.codigotipoUnidadeEmpreendimento) as elevador, ";

                        sql1 = sql1 + "(select numeroGarangensTipoUnidadeEmpreendimento from tipoUnidadeEmpreendimento  ";
                        sql1 = sql1 + "where tipoUnidadeEmpreendimento.codigotipoUnidadeEmpreendimento = ivv.codigotipoUnidadeEmpreendimento) as garagem, ";

                        sql1 = sql1 + "(select tempoFinanciamentoTipoUnidadeEmpreendimento from tipoUnidadeEmpreendimento  ";
                        sql1 = sql1 + "where tipoUnidadeEmpreendimento.codigotipoUnidadeEmpreendimento = ivv.codigotipoUnidadeEmpreendimento) as tempo, ";

                        sql1 = sql1 + "(select valorMedioMetroQuadradoTipoUnidadeEmpreendimento from tipoUnidadeEmpreendimento  ";
                        sql1 = sql1 + "where tipoUnidadeEmpreendimento.codigotipoUnidadeEmpreendimento = ivv.codigotipoUnidadeEmpreendimento) as valor,  ";

                        sql1 = sql1 + "(select estagioObra.descricaoEstagioObra from estagioObra, tipoUnidadeEmpreendimento  ";
                        sql1 = sql1 + "where estagioObra.codigoEstagioObra = tipoUnidadeEmpreendimento.codigoEstagioObra and  ";
                        sql1 = sql1 + "tipoUnidadeEmpreendimento.codigotipoUnidadeEmpreendimento = ivv.codigotipoUnidadeEmpreendimento) as estagio, ";

                        sql1 = sql1 + "(select origemRecurso.descricaoOrigemRecurso from origemRecurso, tipoUnidadeEmpreendimento  ";
                        sql1 = sql1 + "where origemRecurso.codigoOrigemRecurso = tipoUnidadeEmpreendimento.codigoOrigemRecurso and  ";
                        sql1 = sql1 + "tipoUnidadeEmpreendimento.codigotipoUnidadeEmpreendimento = ivv.codigotipoUnidadeEmpreendimento) as origem ";

                        sql1 = sql1 + "FROM ivv where tipoTransporte = 1 and codigoIvv = " + id + " and codigoIncorporadora = " + Session["codigoIncorporadora"].ToString() + " order by dataCadastroIvv desc ";


                        System.Data.SqlClient.SqlConnection conexao = new System.Data.SqlClient.SqlConnection(ConfigurationManager.AppSettings["baseDados"]);
                        conexao.Open();

                        System.Data.SqlClient.SqlCommand cmdT = new System.Data.SqlClient.SqlCommand(sql1, conexao);
                        System.Data.SqlClient.SqlDataReader drT = cmdT.ExecuteReader();

                        string codigoIvv = "";
                        int count = 0;

                        if (drT.HasRows)
                        {
                            while (drT.Read())
                            {
                                codigoIvv = drT["codigoIvv"].ToString();

                                e.Row.Cells[2].Controls.Add(new LiteralControl(imprimirMes(drT["mesIvv"].ToString())));

                                if (count == 0)
                                {
                                    //if (Convert.ToDateTime(DateTime.Now.ToString("dd/MM/yyyy")) <= Convert.ToDateTime("10/" + drT["mesIvv"].ToString() + "/" + drT["anoIvv"].ToString()))
                                    //{
                                    string editar = "<a href=javascript:window.open('" + Convert.ToString(ConfigurationManager.AppSettings["url"]) + "/editarIvvResidencial.aspx?codigoIvv=" + codigoIvv + "','usuario','location=0,resizable=0,status=0,scrollbars=0,width=900,height=350');><img src=" + Convert.ToString(ConfigurationManager.AppSettings["url"]) + "/images/btEditar(2).gif alt=Excluir /></a>";
                                    e.Row.Cells[18].Controls.Add(new LiteralControl(editar));

                                    string remover = "<a href=javascript:window.open('" + Convert.ToString(ConfigurationManager.AppSettings["url"]) + "/deletarIVV.aspx?codigoIvv=" + codigoIvv + "','usuario','location=0,resizable=0,status=0,scrollbars=0,width=350,height=150');><img src=" + Convert.ToString(ConfigurationManager.AppSettings["url"]) + "/images/btExcluirMacroProcesso.gif alt=Excluir /></a>";
                                    e.Row.Cells[18].Controls.Add(new LiteralControl(remover));
                                    //}
                                }
                                count++;
                            }
                        }
                        drT.Close();
                        cmdT.Dispose();
                        conexao.Close();
                    }
                }
            }
        }

        string imprimirMes(string mes)
        {
            switch (mes)
            {
                case "1":
                    return "Janeiro";
                    break;
                case "2":
                    return "Fevereiro";
                    break;
                case "3":
                    return "Março";
                    break;
                case "4":
                    return "Abril";
                    break;
                case "5":
                    return "Maio";
                    break;
                case "6":
                    return "Junho";
                    break;
                case "7":
                    return "Julho";
                    break;
                case "8":
                    return "Agosto";
                    break;
                case "9":
                    return "Setembro";
                    break;
                case "10":
                    return "Outubro";
                    break;
                case "11":
                    return "Novembro";
                    break;
                default:
                    return "Dezembro";
                    break;
            }
        }

        protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)
        {
            GridView1.PageIndex = e.NewPageIndex;
            bindGridView();
        }

        protected void GridView2_PageIndexChanging(object sender, GridViewPageEventArgs e)
        {
            GridView2.PageIndex = e.NewPageIndex;
            bindGridView2();
        }

        public void bindGridView2()
        {
            string sql1 = "";

            sql1 = sql1 + "SELECT codigoIvv, anoIvv, mesIvv, codigoIncorporadora,  ";
            sql1 = sql1 + "codigoEmpreendimento, codigoTipoUnidadeEmpreendimento,  ";
            sql1 = sql1 + "dataCadastroIvv, quantidadeVendaIvv, quantidadeLancamentoIvv,  ";
            sql1 = sql1 + "quantidadeOfertasIvv, definicaoOutroEstagioObra, tipoTransporte,  ";
            sql1 = sql1 + "quantidadeLancamentoVendaIvv,  ";

            sql1 = sql1 + "(select nomeEmpreendimento from empreendimento  ";
            sql1 = sql1 + "where empreendimento.codigoEmpreendimento = ivv.codigoEmpreendimento) as empreendimento,  ";

            sql1 = sql1 + "(select descricaoBairro from bairro, empreendimento  ";
            sql1 = sql1 + "where empreendimento.codigoEmpreendimento = ivv.codigoEmpreendimento and  ";
            sql1 = sql1 + "empreendimento.codigoBairro = bairro.codigoBairro) as bairro,  ";

            sql1 = sql1 + "(select areaPrivativaTipoUnidadeEmpreendimento from tipoUnidadeEmpreendimento  ";
            sql1 = sql1 + "where tipoUnidadeEmpreendimento.codigotipoUnidadeEmpreendimento = ivv.codigotipoUnidadeEmpreendimento) as Area, ";

            sql1 = sql1 + "(select numeroQuartosTipoUnidadeEmpreendimento from tipoUnidadeEmpreendimento  ";
            sql1 = sql1 + "where tipoUnidadeEmpreendimento.codigotipoUnidadeEmpreendimento = ivv.codigotipoUnidadeEmpreendimento) as quarto, ";

            sql1 = sql1 + "(select numeroElevadoresTipoUnidadeEmpreendimento from tipoUnidadeEmpreendimento  ";
            sql1 = sql1 + "where tipoUnidadeEmpreendimento.codigotipoUnidadeEmpreendimento = ivv.codigotipoUnidadeEmpreendimento) as elevador, ";

            sql1 = sql1 + "(select numeroGarangensTipoUnidadeEmpreendimento from tipoUnidadeEmpreendimento  ";
            sql1 = sql1 + "where tipoUnidadeEmpreendimento.codigotipoUnidadeEmpreendimento = ivv.codigotipoUnidadeEmpreendimento) as garagem, ";

            sql1 = sql1 + "(select tempoFinanciamentoTipoUnidadeEmpreendimento from tipoUnidadeEmpreendimento  ";
            sql1 = sql1 + "where tipoUnidadeEmpreendimento.codigotipoUnidadeEmpreendimento = ivv.codigotipoUnidadeEmpreendimento) as tempo, ";

            sql1 = sql1 + "(select valorMedioMetroQuadradoTipoUnidadeEmpreendimento from tipoUnidadeEmpreendimento  ";
            sql1 = sql1 + "where tipoUnidadeEmpreendimento.codigotipoUnidadeEmpreendimento = ivv.codigotipoUnidadeEmpreendimento) as valor,  ";

            sql1 = sql1 + "(select estagioObra.descricaoEstagioObra from estagioObra, tipoUnidadeEmpreendimento  ";
            sql1 = sql1 + "where estagioObra.codigoEstagioObra = tipoUnidadeEmpreendimento.codigoEstagioObra and  ";
            sql1 = sql1 + "tipoUnidadeEmpreendimento.codigotipoUnidadeEmpreendimento = ivv.codigotipoUnidadeEmpreendimento) as estagio, ";

            sql1 = sql1 + "(select origemRecurso.descricaoOrigemRecurso from origemRecurso, tipoUnidadeEmpreendimento  ";
            sql1 = sql1 + "where origemRecurso.codigoOrigemRecurso = tipoUnidadeEmpreendimento.codigoOrigemRecurso and  ";
            sql1 = sql1 + "tipoUnidadeEmpreendimento.codigotipoUnidadeEmpreendimento = ivv.codigotipoUnidadeEmpreendimento) as origem ";

            sql1 = sql1 + "FROM ivv where tipoTransporte = 1 and codigoIncorporadora = " + Session["codigoIncorporadora"].ToString() + " order by dataCadastroIvv desc ";

            string connString = ConfigurationManager.AppSettings["baseDados"];

            SqlDataAdapter dAdapter = new SqlDataAdapter(sql1, connString);

            SqlCommandBuilder cBuilder = new SqlCommandBuilder(dAdapter);

            DataTable dTable = new DataTable();

            dAdapter.Fill(dTable);

            GridView2.DataSource = dTable;

            dTable.Columns.Add("Açoes");

            GridView2.DataBind();

        }

        public void bindGridView()
        {
            string sql1 = "";

            sql1 = sql1 + "SELECT codigoIvv, anoIvv, mesIvv, codigoIncorporadora, codigoEmpreendimento, ";
            sql1 = sql1 + "codigoTipoUnidadeEmpreendimento, dataCadastroIvv, quantidadeVendaIvv, ";
            sql1 = sql1 + "quantidadeLancamentoIvv, quantidadeOfertasIvv, ";
            sql1 = sql1 + "definicaoOutroEstagioObra, tipoTransporte, quantidadeLancamentoVendaIvv, ";

            sql1 = sql1 + "(select nomeEmpreendimento from empreendimento ";
            sql1 = sql1 + "where empreendimento.codigoEmpreendimento = ivv.codigoEmpreendimento) as empreendimento, ";

            sql1 = sql1 + "(select descricaoBairro from bairro, empreendimento ";
            sql1 = sql1 + "where empreendimento.codigoEmpreendimento = ivv.codigoEmpreendimento and ";
            sql1 = sql1 + "empreendimento.codigoBairro = bairro.codigoBairro) as bairro, ";

            sql1 = sql1 + "(select areaPrivativaTipoUnidadeEmpreendimento from tipoUnidadeEmpreendimento ";
            sql1 = sql1 + "where tipoUnidadeEmpreendimento.codigotipoUnidadeEmpreendimento = ivv.codigotipoUnidadeEmpreendimento) as Area ";

            sql1 = sql1 + "FROM ivv where tipoTransporte = 0 and codigoIncorporadora = " + Session["codigoIncorporadora"].ToString() + " order by dataCadastroIvv desc";

            string connString = ConfigurationManager.AppSettings["baseDados"];

            SqlDataAdapter dAdapter = new SqlDataAdapter(sql1, connString);

            SqlCommandBuilder cBuilder = new SqlCommandBuilder(dAdapter);

            DataTable dTable = new DataTable();

            dAdapter.Fill(dTable);

            GridView1.DataSource = dTable;

            dTable.Columns.Add("Açoes");

            GridView1.DataBind();

        }

        protected void LinkButton1_Click(object sender, EventArgs e)
        {
            bindGridView();
        }
    }
}
